<?php
//   +----------------------------------------------------------------------
//   | Copyright (c) 2015-2025 http://www.hdphp.cn All rights reserved.
//   | Licensed ( http://www.hdphp.cn/licenses/ )
//   | Author: Jack <sophia2152@qq.com>
//   | 官方网址: http://www.hdphp.cn
//   | 这不是一个自由软件！您只能在不用于商业目的的前提下对程序代码进行修改和使用。
//   | 任何企业和个人不允许对程序代码以任何形式任何目的再发布。
//   +----------------------------------------------------------------------
namespace app\controller\admin\v1\message;

use app\controller\admin\Auth;
use app\services\message\SystemNotificationServices;
use think\facade\App;

/**
 * Class：SystemNotification
 * 创建人：Jack
 * 创建时间：2023/11/30 9:28
 * @package app\controller\admin\v1\message
 */
class SystemNotification extends Auth
{
    /**
     * SystemRole constructor.
     * @param App                        $app
     * @param SystemNotificationServices $services
     */
    public function __construct(App $app, SystemNotificationServices $services)
    {
        parent::__construct($app);
        $this->services = $services;
    }

    /**
     * 注释：显示资源列表
     * 创建人：Jack
     * 创建时间：2023/11/30 9:29
     * @return mixed
     */
    public function index()
    {
        $where = $this->request->getMore([
            ['type', ''],
        ]);

        return app('json')->success($this->services->getNotList($where));
    }

    /**
     * 注释：设置详情
     * 创建人：Jack
     * 创建时间：2023/11/30 9:48
     * @return mixed
     */
    public function info()
    {
        $where = $this->request->getMore([
            ['type', ''],
            ['id', 0]
        ]);
        if (!$where['id']) return app('json')->fail('参数错误!');
        return app('json')->success($this->services->getNotInfo($where));
    }

    /**
     * 注释：保存
     * 创建人：Jack
     * 创建时间：2023/11/30 9:51
     * @return mixed
     */
    public function save()
    {
        $data = $this->request->postMore([
            ['id', 0],
            ['type', ''],
            ['name', ''],
            ['title', ''],
            ['is_system', 0],
            ['is_app', 0],
            ['is_wechat', 0],
            ['is_routine', 0],
            ['is_sms', 0],
            ['is_ent_wechat', 0],
            ['system_title', ''],
            ['system_text', ''],
            ['temp_id', ''],
            ['ent_wechat_text', ''],
            ['url', ''],
            ['wechat_id', ''],
            ['routine_id', '']
        ]);
        if (!$data['id']) return app('json')->fail('参数错误!');
        if ($this->services->saveData($data)) {
            $this->services->clearTemplateCache();
            return app('json')->success('修改成功!');
        } else {
            return app('json')->fail('修改失败,请稍候再试!');
        }
    }

    /**
     * 注释：修改消息状态
     * 创建人：Jack
     * 创建时间：2023/11/30 9:57
     * @param $type
     * @param $status
     * @param $id
     * @return mixed
     */
    public function set_status($type, $status, $id)
    {
        if ($type == '' || $status == '' || $id == 0) return $this->fail('参数错误!');
        $this->services->update($id, [$type => $status, 'update_time' => time()]);
        $this->services->clearTemplateCache();
        return $this->success($status == 1 ? '开启成功!' : '关闭成功!');
    }

}